/**
 * 项目名称: Topic_429.cpp
 * 项目路径: study/DataStructure/LeetCode/树/中等
 * 编辑时间: 2024年08月17日15时17分30秒
 * 用   户: 轻尘
 */

#include <bits/stdc++.h>

using namespace std;

class Node {
public:
    int val;
    vector<Node*> children;

    Node() {}

    Node(int _val) {
        val = _val;
    }

    Node(int _val, vector<Node*> _children) {
        val = _val;
        children = _children;
    }
};

class Solution {
public:
    vector<vector<int>>vn;
    vector<int>init;
    void pre(Node * root,int study){
        if(root){
            study++;
            if(vn.size()<=study)vn.push_back(init);
            for(auto x:root->children){
                vn[study].push_back(x->val);
                pre(x,study);
            }
        }
    }
    vector<vector<int>> levelOrder(Node* root) {
        if(!root)return vn;
        vn.push_back(init);
        vn[0].push_back(root->val);
        pre(root,0);
        vn.pop_back();
        return vn;
    }
};
